iT邦幫忙

2022 iThome 鐵人賽

DAY 28
0
Modern Web

Collage版的web寫法就是大雜燴系列 第 28

DAY28-資料庫連線

  • 分享至 

  • xImage
  •  

DAY28-資料庫連線-

php7之後使用 mysqli(mysql資料庫)連線 或 pdo(多種資料庫)

**使用 mysqli(mysql資料庫)連線

-> 是指 裡面的

myconnect 裡面的 connect_error

要貼入的程式碼

<?php
    $dbhost = 'localhost';
    //資料庫主機位置(大部份都是localhost)

    $dbuser = 'root';
    //資料庫使用者 登入帳號(xampp預設是root最高權限登入)

    $dbpw = '';
    //資料庫使用者 登入密碼(xampp預設是密碼是空的)

    $database = 'mytestdb';
    //資料庫名稱

    $myconnect = new mysqli($dbhost, $dbuser, $dbpw, $database);
    //建立資料庫連線 實體化mysqli(資料庫主機位置, 登入帳號, 登入密碼, 資料庫名稱)


    if ($myconnect->connect_error) {
        die("連線失敗: " . $myconnect->connect_error);
    }else{
        echo "連線OK";
    }
    //資料庫連線若失敗出現錯誤訊息幫助我們除錯,確認沒有問題後可以刪除



防止亂碼utf8的對照


加寫 判斷式

陣列資料中的 KEY 值

<?php
    $dbhost = 'localhost';
    //資料庫主機位置(大部份都是localhost)

    $dbuser = 'root';
    //資料庫使用者 登入帳號(xampp預設是root最高權限登入)

    $dbpw = '';
    //資料庫使用者 登入密碼(xampp預設是密碼是空的)

    $database = 'mytestdb';
    //資料庫名稱

    $myconnect = new mysqli($dbhost, $dbuser, $dbpw, $database);
    //建立資料庫連線 實體化mysqli(資料庫主機位置, 登入帳號, 登入密碼, 資料庫名稱)


    // if ($myconnect->connect_error) {
    //     die("連線失敗: " . $myconnect->connect_error);
    // } else {
    //     echo "連線OK";
    // }
    //資料庫連線若失敗出現錯誤訊息幫助我們除錯,確認沒有問題後可以刪除

    $myconnect->set_charset("utf8");
    //設定連線utf8編碼,防止中文亂碼

    $selectSQL = "SELECT * FROM mytesttab";
    //來一段SQL的SELECT語法吧

    $myData = $myconnect->query($selectSQL);
    //執行上面那段SQL語法並將所得資料放進 $myData

    if ($myData->num_rows > 0) {
        //有資料筆數大於0時才執行


        echo "總筆數" . $myData->num_rows;
        //印出總共的資料筆數
        echo "<hr>";


        while ($row = $myData->fetch_assoc()) {
            //將陣列資料中的Key值設定為該欄位的欄位名稱,並依序放進$row中   

            echo $row["myid"];
            echo $row["myname"];
            echo $row["mysex"];
            echo $row["mybirthday"];
            echo $row["mytel"];
            echo $row["myadd"];
            echo "<hr>";




        }
    } else {
        //沒有資料時顯示
        echo '沒有資料';
    }

    ?>
    
    ````






 <form action="0409-03-B.php" method="post">
        請輸入關鍵字:
        <input type="text" name="mykw">
        <button type="submit">查詢</button>
    </form>
    

按下 關鍵字 -好 要有顯示


輸入關鍵字<input type="text" name="mykw" value="<?php echo $_POST['mykw']?>">

參考- 購物車 程式碼-

https://github.com/Bxcase/cart.class.php

細節頁面


加入會員的功能

    <?php
    $dbhost = 'localhost';
    //資料庫主機位置(大部份都是localhost)

    $dbuser = 'root';
    //資料庫使用者 登入帳號(xampp預設是root最高權限登入)

    $dbpw = '';
    //資料庫使用者 登入密碼(xampp預設是密碼是空的)

    $database = 'mytestdb';
    //資料庫名稱

    $myconnect = new mysqli($dbhost, $dbuser, $dbpw, $database);
    //建立資料庫連線 實體化mysqli(資料庫主機位置, 登入帳號, 登入密碼, 資料庫名稱)

    // if ($myconnect->connect_error) {
    //     die("連線失敗: " . $myconnect->connect_error);
    // } else {
    //     echo "連線OK";
    // }
    //資料庫連線若失敗出現錯誤訊息幫助我們除錯,確認沒有問題後可以刪除

    $myconnect->set_charset("utf8");
    //設定連線utf8編碼,防止中文亂碼

    $insertSQL = "INSERT INTO mytesttab (myname, mysex, mybirthday, mytel, myadd) VALUES ('廖小和','男','1988-5-5','03-5534567','CCCCCCCC')";
    //來一段SQL的INSERT語法吧

    $myData = $myconnect->query($insertSQL);
    //執行上面那段SQL語法
    if ($myData) {
        echo '<br>新增成功<br>';
        echo '新增的流水號是' . $myconnect->insert_id; //取得最後的主索引
    } else {
        echo "錯誤: " . $insertSQL . "<br>" . $myconnect->error;
    }
    ?>
<?php
    $dbhost = 'localhost';
    //資料庫主機位置(大部份都是localhost)

    $dbuser = 'root';
    //資料庫使用者 登入帳號(xampp預設是root最高權限登入)

    $dbpw = '';
    //資料庫使用者 登入密碼(xampp預設是密碼是空的)

    $database = 'mytestdb';
    //資料庫名稱

    $myconnect = new mysqli($dbhost, $dbuser, $dbpw, $database);
    //建立資料庫連線 實體化mysqli(資料庫主機位置, 登入帳號, 登入密碼, 資料庫名稱)
    if ($myconnect->connect_error) {
        die("連線失敗: " . $myconnect->connect_error);
    }
    echo "連線OK";
    //資料庫連線若失敗出現錯誤訊息幫助我們除錯,確認沒有問題後可以刪除

    $myconnect->query("SET NAMES 'utf8'");
    //設定連線utf8編碼,防止中文亂

    $updateSQL = "UPDATE mytesttab SET myname = '是在哈囉' WHERE myid = 1";
    //來一段SQL的UPDATE語法吧

    $myData = $myconnect->query($updateSQL);

    if ($myData) {
        echo '更新成功';
    } else {
        echo "錯誤: " . $updateSQL . "<br>" . $myconnect->error;
    }
    ?>


更新-資料-


<meta http-equiv='refresh' content='3;URL=0409-09-main.php'>

程式碼-

<?php
    $dbhost = 'localhost';
    //資料庫主機位置(大部份都是localhost)

    $dbuser = 'root';
    //資料庫使用者 登入帳號(xampp預設是root最高權限登入)

    $dbpw = '';
    //資料庫使用者 登入密碼(xampp預設是密碼是空的)

    $database = 'mytestdb';
    //資料庫名稱

    $myconnect = new mysqli($dbhost, $dbuser, $dbpw, $database);
    //建立資料庫連線 實體化mysqli(資料庫主機位置, 登入帳號, 登入密碼, 資料庫名稱)
    if ($myconnect->connect_error) {
        die("連線失敗: " . $myconnect->connect_error);
    }
    echo "連線OK";
    //資料庫連線若失敗出現錯誤訊息幫助我們除錯,確認沒有問題後可以刪除

    $myconnect->query("SET NAMES 'utf8'");
    //設定連線utf8編碼,防止中文亂碼

    $deleteSQL = "DELETE FROM mytesttab WHERE myid = 3";
    //來一段SQL的DELETE語法吧

    $myData = $myconnect->query($deleteSQL);

    if ($myData) {
        echo '刪除成功';
    } else {
        echo "錯誤: " . $deleteSQL . "<br>" . $myconnect->error;
    }
    ?>


希望明天可以見~QQ

前面寫的跳轉網頁~
還要寫好其他的頁面才可以使用

這裡掛一個用政府的網頁就可以使用^^

按鈕-送出資料 / 清除資料


<button type="submit">送出資料</button>

<button type="reset">清除資料</button>


上一篇
DAY27-資料庫必學語法JOIN
下一篇
DAY29-佈署是~
系列文
Collage版的web寫法就是大雜燴30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言